MySQL字符集设定总结 | 您所在的位置:网站首页 › mysql 表字符集 › MySQL字符集设定总结 |
MySQL 字符集设定总结
MySQL(4.1 以后版本 ) 服务器中有六个关键位置使用了字符集的概念,他们是: client 、 connection 、 database 、 results 、 server 、 system 。 MySQL 有两个和字符集有关的概念。一个就是字符集本身, 一个是字符集校验规则。字符集影响数据在传输和存储过程中的处理方式,而字符集校验则影响 ORDER BY 和 GROUP BY 这些排序方式。
1. 和存储有关的
服务器字符集
(@@ character_set_server ) 库字符集
(@@ character_set_database ) 表字符集
字段字符集
character_set_server: 服务器安装时指定的默认字符集设定。
character_set_database: 数据库服务器中某个库使用的字符集设定, 如果建库时没有指明, 将使用 服务器安装时指定的字符集设置。
character_system : 数据库系统使用的字符集设定。
在创建一个表的时候,每个字段只要不是 binary ,都会有一个字符集。如果不指定,那么在 SHOW CREATE TABLE 的时候,它是不会显示出来的。
建表时候,字段字符集的选取方式如下:
* if 字段指定的字符集
* else if 表指定的字符集
* else if @@ character_set_database
* else @@ character_set_server ( 如果没有设定,这个值为 latin1)
2. 和传输有关的
@@ character_set_connection @@ character_set_results
@@ character_set_client
character_set_connection: 连接数据库的字符集设置类型,如果 php 没有指明连接数据库使用的 字符集类型就按照服务器端默认的字符设置
character_set_results: 数据库给客户端返回时使用的字符集设定,如果没有指明,使用服务器默认 的字符集
character_set_client: 客户端使用的字符集,相当于网页中的字符集设置
3. 字符集的校对规则
字符集的校对规则设定分别由上面的 character_set_connection, character_set_database, character_set_server 决定
collation_connection : 连接字符集的校对规则
collation_database : 默认数据库使用的校对规则。 当默认数据库改变时服务器则设置该变量。 如果没 有默认数据库,变量的值同 collation_server
collation_server : 服务器的默认校对规则
以上内容中 character_set_client, character_set_connection, character_set_results 受客户端默 认字符集影响,其中 php 编译 mysql 模块时的默认字符集同样也受到它链接的 mysql 动态库影响,从而 |
CopyRight 2018-2019 实验室设备网 版权所有 |